package com.love.marriage.TecentIm.vo;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.love.marriage.common.vo.BaseVo;
import com.love.marriage.config.Long2StringSerializer;
import com.love.marriage.userInfo.vo.UserVo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

/**
 * description:  CharEachHistoryVo
 * author:       mybatisPlus
 * createDate:   2024-10-17 21:19:44
 * version:      1.0.0
 */
@Getter
@Setter
@Accessors(chain = true)
@Schema(name = "ChatListVo", description = "聊天列表vo")
public class ChatListVo extends BaseVo<ChatListVo>{

    @Schema(description = "置顶标记：0：标识普通会话，1：标识置顶会话", type = "String", implementation = String.class)
    private String topFlag;

    @JsonSerialize(using = Long2StringSerializer.class)
    @Schema(description = "对方id", implementation = Long.class)
    private Long peerUserId;

    @Schema(description = "会话时间", type = "String", implementation = String.class)
    private String msgTime;

    @Schema(description = "普通会话下一页拉取的起始时间，分页拉取时通过请求包的 TimeStamp 字段带给移动通信后台。", implementation = UserVo.class)
    private UserVo TimeStamp;

    @Schema(description = "普通会话下一页拉取的起始位置，分页拉取时通过请求包的 StartIndex 字段带给移动通信后台 ", type = "String", implementation = String.class)
    private String startIndex;

    @Schema(description = "未读数量", type = "Integer", implementation = Integer.class)
    private Integer unreadCount;

    @Schema(description = "用户信息", implementation = UserVo.class)
    private UserVo userVo;

    @Schema(description = "聊天记录", implementation = String.class)
    private String messageInfo;
}
